The present invention relates to application execution optimization for different use profiles, and more specifically, application execution with switching to optimized code for different use profiles.
Dynamic optimization of code in its final run-time environment is known using on-line profiling. The profiling and optimizations incur an overhead on the execution of the user code.
Off-line processing is known in the form of Profile-Guided Optimization that allows software developers to test optimized code before it is rolled out into production. Separate profiles may be created for each use profile to ensure the best possible performance for that particular use case.